package priv.menguer.command;

import priv.menguer.command.controller.Broker;
import priv.menguer.command.controller.Stock;
import priv.menguer.command.service.impl.BuyStock;
import priv.menguer.command.service.impl.SellStock;

/**
 * @Title CommandPatternDemo.java
 * @description 命令模式（Command Pattern）是一种数据驱动的设计模式，它属于行为型模式。
 *              <p>
 *              请求以命令的形式包裹在对象中，并传给调用对象。调用对象寻找可以处理该命令的合适的对象，并把该命令传给相应的对象，该对象执行命令。
 *              </p>
 * @time 2018年10月26日 上午11:02:14
 * @author menguer@126.com
 * @version 1.0
 */
public class CommandPatternDemo {
	public static void main(String[] args) {
		Stock abcStock = new Stock();

		BuyStock buyStockOrder = new BuyStock(abcStock);
		SellStock sellStockOrder = new SellStock(abcStock);

		Broker broker = new Broker();
		broker.takeOrder(buyStockOrder);
		broker.takeOrder(sellStockOrder);

		broker.placeOrders();
	}
}
